# −*− coding: utf−8 −*−
'''
comentarios gerais sobre o modulo
@author : Jose Jasnau Caeiro
@date : 16 de outubro de 2012
@obs :
realizacao de uma versao iterativa de um programa de
calculo de integrais de forma iterativa
'''

def soma_integral(f, a, b):
    '''
    comentarios sobre a funcao
    soma_integral()- soma integral de uma funcao pela regra do trapezio
    f - funcao unidimensional a integrar
    a - limite inferior
    b - limite superior
    '''
    #numero de intervalos
    N = 500

    #aproximaçao ao infinitesimo
    #com conversao para numeros reais
    dx = (float(b)-float(a))/ float(N)

    #soma integral
    soma = 0.0
    x = a
    while x<= b:
        soma += f(x) * dx
        x +=dx
        pass
    return soma

def f(x):
    return x

a= 0.0
b= 1.0
print soma_integral(f, a, b)
